/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.kuncipenyusunananggaran;

import java.util.List;
import java.util.Map;
import org.sadhar.sia.framework.ClassApplicationModule;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zul.Button;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;

/**
 * Digunakan untuk menangani komponen kuncipenyusunananggaran.EditKunciPenyusunanAnggaran.zul
 * @author Daud_HS
 * -- revised Dewi (BAPSI)
 */
public class KunciPenyusunanAnggaranEditWnd extends ClassApplicationModule {

    private KunciPenyusunanAnggaranDAO kunciPenyusunanAnggaranDAO;
    private Label lblTahunAnggaran;
    private Label lblUnitKerja;
    private Label lblJenisAnggaran;
    //private Label lblStatusKunciSekarang;
    private Textbox txtboxIdJenisAnggaran;
    private Textbox txtboxKodeUnitKerja;
    private Radio rdbtnDikunci;
    private Radio rdbtnTidakDikunci;
    private Window window;
    private Listbox lstboxKunciPenyusunanAnggaran;
    private Button btnSimpan;

    public KunciPenyusunanAnggaranEditWnd() {
        kunciPenyusunanAnggaranDAO = new KunciPenyusunanAnggaranDAOImpl();
    }

    public void onCreate() throws Exception {
        window = (Window) this.getRoot().getFellow("contentDiv").getFirstChild();
        lstboxKunciPenyusunanAnggaran = (Listbox) window.getFellow("lstboxKunciPenyusunanAnggaran");
        lblTahunAnggaran = (Label) getFellow("lblTahunAnggaran");
        lblUnitKerja = (Label) getFellow("lblUnitKerja");
        lblJenisAnggaran = (Label) getFellow("lblJenisAnggaran");
        //lblStatusKunciSekarang = (Label) getFellow("lblStatusKunciSekarang");
        txtboxKodeUnitKerja = (Textbox) getFellow("txtboxKodeUnitKerja");
        rdbtnDikunci = (Radio) getFellow("rdbtnDikunci");
        rdbtnTidakDikunci = (Radio) getFellow("rdbtnTidakDikunci");
        txtboxIdJenisAnggaran = (Textbox) getFellow("txtboxIdJenisAnggaran");
        btnSimpan = (Button) getFellow("btnSimpan");
    }

    /**
     * Digunakan untuk menangani event btnBatalOnCick()
     */
    public void btnBatalOnClick() {
        this.detach();
    }

    /**
     * Digunakan untuk menangani event btnSimpanOnClick()
     * @throws InterruptedException
     */
    public void btnSimpanOnClick() throws InterruptedException {
        KunciPenyusunanAnggaran kunciPenyusunanAnggaran = new KunciPenyusunanAnggaran();
        kunciPenyusunanAnggaran.setTahunAnggaran(lblTahunAnggaran.getValue());
        kunciPenyusunanAnggaran.setKdJenisAnggaran(txtboxIdJenisAnggaran.getValue());
        kunciPenyusunanAnggaran.setKodeUnit(txtboxKodeUnitKerja.getValue());
        // revised sarah (BAPSI) : 15-12-2009
        String cekRevisi = lblJenisAnggaran.getValue().substring(lblJenisAnggaran.getValue().length() - 1, lblJenisAnggaran.getValue().length());
        if (cekRevisi.compareTo("l") == 0) {
            cekRevisi = "N";
        } else {
            cekRevisi = "Y";
        }
        kunciPenyusunanAnggaran.setIsRevisi(cekRevisi);
        if (rdbtnDikunci.isChecked()) {
            kunciPenyusunanAnggaran.setIsDikunci("Y");
        } else {
            kunciPenyusunanAnggaran.setIsDikunci("N");
        }
        try {
            kunciPenyusunanAnggaranDAO.edit(kunciPenyusunanAnggaran);
            Messagebox.show("Data Sudah Berhasil Diubah", "Informasi", Messagebox.OK, Messagebox.INFORMATION);
            btnSimpan.addForward(null, lstboxKunciPenyusunanAnggaran, "onClick");
            this.detach();

        } catch (Exception e) {
            System.out.println(e.getMessage());
            Messagebox.show("Gagal mengubah data", "Pesan kesalahan", Messagebox.OK, Messagebox.ERROR);
        }
    }
}
